home *** CD-ROM | disk | FTP | other *** search
- Dim VLink(100)
- Dim VTrue(100)
- Dim CLSID(100)
- dim counter
- dim regkey
- SET MyShell = Wscript.CreateObject("Wscript.Shell")
- SET MyFiles = CreateObject("Scripting.FileSystemObject")
- Set AppShell = CreateObject("Shell.Application")
-
- WhatsDone
-
- temp=msgbox ("Chcete vytvo°it virtußlnφ slo₧ku?",4," V-Link")
- if temp = 6 then
- NeuerEintrag
- else
- temp=msgbox ("Chcete virtußlnφ slo₧ku(y) zruÜit?",1," V-Link")
- if temp = 2 then
- wscript.quit
- else
- EintragEntfernen
- end if
- end if
-
- Sub NeuerEintrag()
- on error resume next
- err.clear
- Set AppFolder = Appshell.BrowseForFolder(0, "Vyberte novou slo₧ku, na kterou chcete vytvo°it odkaz na jinΘm disku...", &H0001, 17)
- verz1 = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
-
- if verz1="" then
- msgbox "Operaci nelze provΘst." & chr(13) & "Bu∩ jste dialogovΘ okno zav°eli, " & chr(13) & "nebo se vybranß slo₧ka k vytvo°enφ virtußlnφ slo₧ky nehodφ",16," V-Link"
- wscript.quit
- end if
-
- If Err.Number > 0 Then
- GanzesLaufwerk=1
- i = InStr(Appfolder, ":")
- verz1 = Mid(Appfolder, i - 1, 1) & ":\"
- End If
- TrueName=verz1
-
- do
- verz1=mid(verz1,2)
- loop while instr(verz1,"\")
-
- for tmp = 0 to counter
- if VTrue(tmp) = TrueName then
- i=instr(VLink(tmp),".{000")
- showonly=left(Vlink(tmp),i-1)
- temp=msgbox (TrueName & " je ji₧ namapovßna jako " & chr(13) & showonly & chr(13) & chr(13) & "Chcete p°esto pokraΦovat?",4, "V-Link")
- if temp=7 then Wscript.quit
- exit for
- end if
- next
-
- err.clear
- Set AppFolder = Appshell.BrowseForFolder(0, "Nynφ vyberte slo₧ku, kam chcete " & verz1 & " virtußlnφ slo₧ku umφstit...", &H0001, 17)
- verz2 = AppFolder.ParentFolder.ParseName(AppFolder.Title).Path
- If Err.Number > 0 Then
- i = InStr(Appfolder, ":")
- verz2 = Mid(Appfolder, i - 1, 1) & ":\"
- End If
-
- if verz2="" then
- msgbox "Operaci nelze provΘst." & chr(13) & "Bu∩ jste dialogovΘ okno zav°eli, " & chr(13) & "nebo se cφlovß slo₧ka k vytvo°enφ virtußlnφ slo₧ky nehodφ.",16," V-Link"
- wscript.quit
- end if
-
- temp=verz2 & "\" & verz1
- temp=replace(temp,"\\","\")
- if temp=showonly then
- msgbox "Operaci nelze provΘst.",16," V-Link"
- wscript.quit
- end if
-
- if left(truename,2)=left(verz2,2) then
- temp=msgbox ("Slo₧ka se nachßzφ na stejnΘm disku. " & chr(13) & "Chcete p°esto pokraΦovat?",36," V-Link")
- if temp = 7 then wscript.quit
- end if
-
- if GanzesLaufwerk=1 then
- temp=msgbox ("Mß se skuteΦn∞ cel² disk " & verz1 & chr(13) & " objevit v " & verz2 & " ?",4, "V-Link")
- if temp=7 then wscript.quit
- verz1=verz1 & "___" & left(verz1,1) & "___"
- end if
-
- counter = counter + 1
-
- if counter = 100 then
- msgbox "Operaci nelze provΘst." & chr(13) & "Bylo dosa₧eno maximßlnφho poΦtu virtußlnφch slo₧ek.",16," V-Link"
- wscript.quit
- end if
-
- if counter = 10 then
- regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(10,"0") & counter & "}\"
- end if
-
- endung=replace(regkey,"HKCR\CLSID\","")
- endung=replace(endung,"\","")
- temp=verz2 & "\" & verz1 & "." & endung
- temp=replace(temp,"\\","\")
- err.clear
- myfiles.createfolder(temp)
- if err.number > 0 then
- msgbox "Nelze vytvo°it po₧adovanou virtußlnφ slo₧ku.",48," V-Link"
- wscript.quit
- end if
- myshell.regwrite regkey,"<V-Link>","REG_SZ"
- myshell.regwrite regkey & "NeverShowExt","","REG_SZ"
- myshell.regwrite regkey & "Shell\","","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\","TrueName","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\VTrue",TrueName,"REG_SZ"
- myshell.regwrite regkey & "Shell\Open\VLink",temp,"REG_SZ"
- myshell.regwrite regkey & "Shell\Open\Command\","explorer.exe /idlist,%I,%L","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\ddeexec\","[ViewFolder(" & chr(34) & "%1" & chr(34) & "," & chr(34) & TrueName & chr(34) & ",%S)]","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\ddeexec\application\","Folders","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\ddeexec\topic\","AppProperties","REG_SZ"
- myshell.regwrite regkey & "Shell\Open\ddeexec\ifexec\","[]","REG_SZ"
- myshell.regwrite regkey & "DefaultIcon\","shell32.dll,3","REG_SZ"
- msgbox TrueName & " byla p°i°azena " & verz2 & " ." & chr(13) & chr(13) & "Jednß se o prßzdnou slo₧ku s Class-ID," & chr(13) & ", kterß odkazuje pouze na vlastnφ cφlovou slo₧ku." & chr(13) & "K odstran∞nφ takovΘ virtußlnφ slo₧ky pou₧ijte tento skript." & chr(13) & "Dojde i k nevratnΘmu oÜet°enφ vÜech polo₧ek v registru.",," V-Link"
- End Sub
-
- Sub EintragEntfernen()
- if counter=-1 then
- msgbox "Nebyly nalezeny ₧ßdnΘ odkazy na virtußlnφ slo₧ky.",0," Nemßm co d∞lat..."
- else
- for temp=counter to 0 step -1
- i=instr(VLink(temp),".{0000")
- showonly=left(VLink(temp),i-1)
- tmp=msgbox ("Chcete V-Link " & showonly & " ( ==> " & VTrue(temp) & ") odstranit?",1, " V-Link")
- if tmp=2 then wscript.quit
- if tmp=1 then
- myshell.regdelete clsid(temp) & "DefaultIcon\"
- myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\application\"
- myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\topic\"
- myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\ifexec\"
- myshell.regdelete clsid(temp) & "Shell\Open\ddeexec\"
- myshell.regdelete clsid(temp) & "Shell\Open\Command\"
- myshell.regdelete clsid(temp) & "Shell\Open\"
- myshell.regdelete clsid(temp) & "Shell\"
- myshell.regdelete clsid(temp)
- tmp=msgbox (showonly & " byla z logickΘho hlediska odstran∞na. Mß se slo₧ka odstranit i fyzicky?",36, " V-Link")
- on error resume next
- if tmp=6 then
- set try2kill=MyFiles.GetFolder(VLink(temp))
- try2kill.delete
- end if
- end if
- next
- end if
- End Sub
-
- sub WhatsDone()
- on error resume next
- counter = 0
- do
- if counter > 9 then
- regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(10,"0") & counter & "}\"
- else
- regkey="HKCR\CLSID\{00000000-00AB-FE1B-0ECC-" & string(11,"0") & counter & "}\"
- end if
- CLSID(counter)=regkey
- VLink(counter)=myshell.regread (regkey & "shell\open\VLink")
- VTrue(counter)=myshell.regread (regkey & "shell\open\VTrue")
- counter=counter + 1
- loop while err.number=0
- counter=counter-2
- end sub